[XEN] Don't use shadow linear maps in sh_set_toplevel_shadow()
authorTim Deegan <Tim.Deegan@xensource.com>
Tue, 14 Nov 2006 11:47:26 +0000 (11:47 +0000)
committerTim Deegan <Tim.Deegan@xensource.com>
Tue, 14 Nov 2006 11:47:26 +0000 (11:47 +0000)
because they will not be there.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
xen/arch/x86/mm/shadow/multi.c

index e2e0bb7a3b1fa63b7bbff3966d8de811460994af..7da1b7a6ac90f9236cd4b56f515527ed1cc3d34c 100644 (file)
@@ -3266,8 +3266,9 @@ sh_set_toplevel_shadow(struct vcpu *v,
     }
     else
     {
-        /* This guest MFN is a pagetable.  Must revoke write access. */
-        if ( shadow_remove_write_access(v, gmfn, GUEST_PAGING_LEVELS, 0) != 0 )
+        /* This guest MFN is a pagetable.  Must revoke write access 
+         * (and can't use heuristics because we have no linear map here). */
+        if ( shadow_remove_write_access(v, gmfn, 0, 0) != 0 )
             flush_tlb_mask(v->domain->domain_dirty_cpumask); 
         /* Make sure there's enough free shadow memory. */
         shadow_prealloc(d, SHADOW_MAX_ORDER);